package com.small.xx.ai.apidoc.dto;

import java.time.LocalDateTime;

/**
 * 应用服务响应DTO
 */
public class AppServiceResponse {
    
    /**
     * 应用服务ID
     */
    private Long id;
    
    /**
     * 应用服务名称
     */
    private String name;
    
    /**
     * 应用服务描述
     */
    private String description;
    
    /**
     * 服务器IP地址
     */
    private String ipAddress;
    
    /**
     * 服务器端口
     */
    private Integer port;
    
    /**
     * 协议 (HTTP/HTTPS)
     */
    private String protocol = "http";
    
    /**
     * 上下文路径
     */
    private String contextPath = "/";
    
    /**
     * 是否启用
     */
    private Boolean enabled = true;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 完整的基础URL
     */
    private String baseUrl;
    
    // Constructors
    public AppServiceResponse() {}
    
    public AppServiceResponse(Long id, String name, String ipAddress, Integer port) {
        this.id = id;
        this.name = name;
        this.ipAddress = ipAddress;
        this.port = port;
    }
    
    // Getters and Setters
    public Long getId() {
        return id;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getDescription() {
        return description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    public String getIpAddress() {
        return ipAddress;
    }
    
    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }
    
    public Integer getPort() {
        return port;
    }
    
    public void setPort(Integer port) {
        this.port = port;
    }
    
    public String getProtocol() {
        return protocol;
    }
    
    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }
    
    public String getContextPath() {
        return contextPath;
    }
    
    public void setContextPath(String contextPath) {
        this.contextPath = contextPath;
    }
    
    public Boolean getEnabled() {
        return enabled;
    }
    
    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }
    
    public LocalDateTime getCreateTime() {
        return createTime;
    }
    
    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }
    
    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    
    public String getBaseUrl() {
        return baseUrl;
    }
    
    public void setBaseUrl(String baseUrl) {
        this.baseUrl = baseUrl;
    }
}